The present invention relates to the field of computer networks, and in particular to workflow systems and methods used in computer networks to control, access, process, track, and modify documents. The invention also relates to workflow systems integrated with project and information management systems.
A workflow system automates processing of documents in computer networks by defining the sequence of users with access to documents transmitted in the computer network. One application suitable for workflow is business travel reimbursement, having the following steps: (1) the traveler sends a request for reimbursement to a manager; (2) the manager reviews it; and (3) the manager either sends the approved request to accounting for payment or returns the request to the traveler for clarification. During the process, the users of the workflow system may want certain information. The manager may want information from the traveler before approval, accounting may want the total number of requests submitted by the traveler within the year, and the traveler may want to know where the request is in the process, especially if it is delayed.
A route describes the step-by-step sequence of a given workflow. The route may have a linear sequence and/or complex conditional branching. The latter type may require databases to store the independent parallel routes, which later join to form a linear route. Simple workflow may require only an email system to emulate paper-based procedures using mail and routing slips. As shown in FIG. 1A, a database workflow system stores the document, the route, and the sequence of access in data tables. Because the information is stored in the memory of the database system, database systems can provide for complex routes, supply information on the document, and alert users to process delays. Many databases also have failure detection and recovery mechanisms to assure reliability. However, databases require that users employ specific programs to process the workflow, and remain connected to the database for the entire session, which can result in expensive long distance phone calls when users are remote from the database. Because the users may participate in many workflow processes, database workflow systems may require a number of specific programs to be loaded in their PCs and require access to a number of databases. This may unnecessarily confuse users who must then identify the programs and the databases associated with a given workflow.
As shown in FIG. 1B, an email workflow system transmits the document and the route in the email. This has the advantage that users only need email programs such as Microsoft Outlook, Lotus Notes, or Microsoft Exchange. Further, a remote user such as a traveling manager can approve documents as remote email. However, since key information about the document is in the email, the workflow process fails if the email is lost. Because there is no central memory, even basic information such as location of a document may be lost. In addition, since there is no access to global information, the email workflow routes are limited to simple linear routes. Further, because the route is part of the email and coded for a particular system, each PC must have a specific program to send the email to the next user. So while users may have the advantage of easy access in email workflow systems, they must have specific programs loaded in their PC before participating in the workflow process. This makes ad hoc creation of a workflow route impracticable, because the participants must have prepared in advance by loading all of the appropriate software in their PCs. As with the database workflow system in which many users participate in the workflow, an email workflow requires many workflow programs be loaded in each PC, lacks capability to perform complex routes and track documents. Thus, the overall benefit of using current email workflow systems is limited.
It would be desirable if workflow systems existed which could perform complex database functions, provide the easy accessibility of email, avoid the need for specific programs in each PC, and insulate the user from the need to identify the pertinent server for a given workflow process.
Workflow systems and methods extend to other applications. For example, many complex projects are planned using groupware and project management tools. A key groupware tool for project management is an electronic calendar system where events are planned and the calendar can be set to create alerts to notify team members that an event is due. A project can have a calendar to post events to coordinate the project's activities. Most electronic calendar systems can coordinate the calendars of each of the individual participants as well as that of the project. Some of these calendar events are based on the execution of project segments and the calendar times may need to be added, modified, or deleted. The calendar events in the project calendar are created and updated manually and require attention to be effective. However, many of the events associated with the calendar could be in workflow processes and it would be desirable to integrate workflow systems with calendar and the calendar events.
One example of a process related to a calendar event is annual performance reviews. A calendar system can set the date to initiate the review process. On that date, a workflow can begin with the steps of notifying the manager of the review, approval of the proposed review by Human Resources (HR), the review with the employee, the sign-off by employee and by the manager, a sign-off by the manager's manager, and a sign-off by HR. At the completion of the workflow process, the calendar system should be notified and the date for the next annual review set. The workflow can have all of the measurement and tracking functions that can be used to control the performance review process. In addition, the workflow integration can coordinate the calendars of the individuals. In the example, as each step is completed, the calendars of the participants for the next step can be coordinated so that the reviews and meetings can be scheduled. Integration between workflow controlled business processes and the electronic calendar system would be highly desirable.
Another tool is a project management system where a project is divided into project segments. Project segments are planned with duration and a beginning and end date. A project segment may relate to another project segment such that it cannot start until the other segment completes. The beginning of the second segment can be based on the end of the first segment and the dates calculated by the project management system. A complex project is typically a network of dependent segments and considerable time can be spent on creating all of the segments and the relationships. The project plan is used to calculate the end date based on the beginning date using the segment durations and the relationships. These may be displayed on a calendar grid to illustrate the project plan.
An additional capability of a project management system is that it can be used to track the actual execution of the segments and calculate the resulting end date. If the new end date is not acceptable, the project management system may be used to determine if the segments may be reordered or which segments may be accelerated to make the end date acceptable. Thus, the project management system is a powerful tool. However, in practice, it is difficult to maintain all of the actual start and end times for the project segments during the project. In most projects the collection and entry of the actual times are done manually either in person, phone or email. Thus, project management during project execution is difficult to achieve without dedicated project resources to keep the project status current. However, most of the segments that are planned by the project management system could be handled as workflow-controlled processes. As with the calendar, it would be desirable to integrate a project management system with the process execution of workflow system.